import AMapLoader from '@amap/amap-jsapi-loader'
export const compute_distance = (arr, option = '') => {
  window._AMapSecurityConfig = {
    securityJsCode: '917af2e676a01a7d444e2021f1c050cb'
  }
  return new Promise((resolve, reject) => {
    AMapLoader.load({
      key: '917af2e676a01a7d444e2021f1c050cb', // 申请好的Web端开发者Key，首次调用 load 时必填
      version: '2.0', // 指定要加载的 JSAPI 的版本，缺省时默认为 1.4.15
      plugins: ['AMap.Scale'] //需要使用的的插件列表，如比例尺'AMap.Scale'，支持添加多个如：['...','...']
    })
      .then((AMap) => {
        // 查重数组
        arr = arr.filter(
          (item, index, self) =>
            index ===
            self.findIndex((t) => t[0] === item[0] && t[1] === item[1])
        )

        // 处理数组，将数组中的每个元素转换为LngLat对象
        arr = arr.map((item) => {
          return (item = new AMap.LngLat(item[0], item[1]))
        })

        let distance = Math.round(AMap.GeometryUtil.distanceOfLine(arr))
        distance = option === 'km' ? distance / 1000 : distance
        resolve(distance)
      })
      .catch((e) => {
        reject(e)
      })
  })
}

// 查重数组
// const organizeArr = (arr) => {
//   let uniqueArr = []
//   arr.forEach((item) => {
//     if (
//       !uniqueArr.some(
//         (uniqueItem) => uniqueItem[0] === item[0] && uniqueItem[1] === item[1]
//       )
//     ) {
//       uniqueArr.push(item)
//     }
//   })
//   console.log(uniqueArr)
// }
